1. Field of the Invention
The invention relates to a data transmission system, a receiving apparatus, and a receiving method as well as a sending apparatus and a sending method. More specifically, it relates to a data-streaming system and the like.
2. Description of Related Art
Recently, many services in which image data, audio data or the like has been transmitted with a streaming scheme have been provided. A terminal that receives streaming data with the streaming scheme generally has a buffer which stores the streaming data temporarily, in order to improve instability in transmission and reception of data in a network and reproduce the streaming data smoothly.
FIG. 1 shows a configuration of a data-streaming system 1 as related art. In the data-streaming system 1 as related art, a server 11 that sends streaming data such as image data and audio data sends the streaming data to a client 13 through a network 12 in response to any requests by the client 13.
It is to be noted that the server 11 installs, for example, a television tuner therein and can receive any image and audio signals from an exterior device such as a digital versatile disk (DVD) player. Based on a control signal received from an outside, the server 11 also can switch between image and audio signals received from the television tuner and image and audio signals received from the DVD player or change the channel of the television tuner. Moreover, it is possible to control, through the server 11, operations of an exterior device such as a DVD player.
The client 13 includes a receiving section 21, buffers 22 and 24, a decoder 23, a reproduction section 26, and an output section 27, as shown in FIG. 2.
The receiving section 21 receives the streaming data from the server 11 through the network 12 and de-modulates the streaming data. The buffer 22 receives and stores the streaming data.
The buffer 22 also supplies the stored streaming data to the decoder 23 at a time when the decoder 23 performs decode processing. The decoder 23 receives the streaming data from the buffer 22 and decodes the image data and the audio data, separately, to supply the decoded image data and audio data to the buffer 24 where they are stored.
The buffer 24 supplies the stored streaming data to the reproduction section 26. The reproduction section 26 reproduces the streaming data received from the buffer 24 and supplies the reproduced stream data to the output section 27.
The output section 27 is constituted of a display for displaying an image, a speaker for sounding an audio and/or the like and outputs an image based on the streaming data and/or an audio corresponding to the image.
If a communication state is stable in the network 12, the client 13 can keep a sufficient communication rate to receive the streaming data so that the buffer 24 can store a sufficient amount of data like a hatched region of the streaming data in the buffer 24 as shown in FIG. 3. If a communication state then becomes instable in the network 12, the client 13 reduces the communication rate to receive the streaming data so that the buffer 24 stores a reduced amount of data like a hatched region of the streaming data in the buffer 24 as shown in FIG. 4.
Although the amount of data of the streaming data stored in the buffer 24 is reduced, the reproduction section 26 reproduces the streaming data stored in the buffer 24, which is received from a reproducing-speed-controlling section, not shown, so that reproducing operation does not stop even when the amount of data of the streaming data stored in the buffer 24 is reduced, thereby enabling the streaming data to be smoothly reproduced. Namely, the streaming data is once stored in the buffer 24 and the reproduction section 26 reproduces the streaming data after a fixed period of time has been elapsed.
It is to be noted that, in FIGS. 3 and 4, in order to simplify the description, only the buffer 24 and the reproduction section 26 are illustrated among the sections constituting the client 13 shown in FIG. 2, and the buffer 22 is omitted. Further, in FIGS. 3 and 4, triangle marks marked under the buffer 24 indicate an amount of data stored in the buffer. The indicated amount of data in the buffer is increased in accordance with positions from left end to right end in each of the figures.
As described above, however, the reproduction section 26 reproduces the streaming data stored in the buffer 24 after a fixed period of time has been elapsed so that if a user performs a fixed operation to instruct change of channels of the television tuner or the like, it is difficult to reproduce the streaming data after the user's operation, which corresponds to the operation, unless the streaming data before the operation, which is stored in the buffer 24, has been completely reproduced.
Thus, the user may view and hear the streaming data after his or her operation merely after he or she views and hears the streaming data before the operation, which is stored in the buffer 24, for a fixed period of time, namely, after the streaming data before the operation has been completely reproduced.
FIG. 5 illustrates items of streaming data stored in the buffer 24 on user's operation.
In FIG. 5, time is elapsed on a time direction from an upper side toward a lower side. States in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a top in FIG. 5, are referred to as “State 1”; States in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a second top in FIG. 5, are referred to as “State 2”; States in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a middle in FIG. 5, are referred to as “State 3”; States in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a second bottom in FIG. 5, are referred to as “State 4”; and States in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a bottom in FIG. 5, are referred to as “State 5”.
In other words, in FIG. 5, states in the server 11, the network 12, the buffer 24, and the reproduction section 26 are respectively transferred from the state 1 to the state 5 through the states 2, 3, 4 as time is elapsed.
It is to be noted that in FIG. 5, as in the cases of FIGS. 3 and 4, in order to simplify the illustration, only the buffer 24 and the reproduction section 26 are illustrated among the sections constituting the client 13 shown in FIG. 2. Further, in FIG. 5, squares in white indicate the streaming data before a user performs any operations while squares in black indicate the streaming data after a user has performed any operations.
At State 1 shown in FIG. 5, the server 11 switches the streaming data to be sent, from the streaming data before the operation to the streaming data after the operation, based on a notice of changing the channels received from the client 13 if a user performs a fixed operation such as channel changing. In the moment, the client 13 has yet received no streaming data after the operation from the server 11 so that the buffer 24 stores the streaming data before the operation and the reproduction section 26 reproduces the streaming data before the operation.
The buffer 24 is constituted of a first-in first-out (FIFO) memory. When the client 13 receives the streaming data after the operation from the server 11 through the network 12, the buffer 24 reads items of the data in a stored order thereof, as indicated at States 2 through 4. Accordingly, the buffer 24 reads items of the streaming data before the operation in order. In this moment, since items of the data read out of the buffer 24 are all the streaming data before the operation, the reproduction section 26 reproduces the streaming data before the operation.
The buffer 24 reads the streaming data after the operation when any streaming data after the operation becomes the oldest one among items of the streaming data stored in the buffer 24, and the reproduction section 26 then reproduces it as indicated at State 5.
Moreover, there is a method of reproducing the streaming data after the operation without any delay by deleting contents in the buffer 24 that stores the streaming data before the operation, namely, by flushing them, on a point of time when a user performs any operation.
FIG. 6 illustrates the flush operation in the buffer 24 on a point of time when a user performs any operation. It is to be noted that in FIG. 6, in order to simplify the illustration, only the buffer 24 and the reproduction section 26 are illustrated among the sections constituting the client 13.
In FIG. 6, as a case of FIG. 5, states in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a top in FIG. 6, are referred to as “State 1”; States in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a middle in FIG. 6, are referred to as “State 2”; and States in the server 11, the network 12, the buffer 24, and the reproduction section 26, which are shown at a bottom in FIG. 5, are referred to as “State 3”. In other words, in FIG. 6, states in the server 11, the network 12, the buffer 24, and the reproduction section 26 are respectively transferred from the state 1 to the state 3 through the state 2 as time is elapsed.
In FIG. 6, the server 11 switches the streaming data to be sent, from the streaming data before the operation to the streaming data after the operation, in response to the notice of changing the channels from the client 13, as shown in the State 1, if a user performs a fixed operation such as channel changing. In this moment, the buffer 24 of the client 13 is flushed and then the reproduction section 26 can reproduce the streaming data before the operation.
When the client 13 then receives the streaming data after the operation from the server 11 through the network 12, the buffer 24 has been flushed so that the buffer 24 can store the streaming data after the operation as the oldest stored streaming data as shown in State 2. The reproduction section 26 then reads the streaming data after the operation out of the flushed buffer 24 directly as shown in State 3 and reproduces it.
Thus, in the client 13 as related art in which the buffer 24 is flushed as shown in FIG. 6, the buffer 24 flushes the stored streaming data before the operation and then stores the streaming data after the operation so that the reproduction section 26 can reproduce the streaming data after the operation.
Japanese Patent Application Publication No. 2004-356695has disclosed a data distribution system in which if a user manipulates a remote controller, a threshold value of overflowing is changed to its threshold value for operation that is less than an ordinary threshold value; and if it is determined that an amount of streaming data in the buffer exceeds the threshold value for operation, a period of time up to displaying contents on an display device can be shortened by controlling any reproduction processing to be made rapid.